# 修改后的代码
import socket

HOST='127.0.0.1'
PORT=8100
udp_server=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
udp_server.bind((HOST,PORT))
print("UDP服务器开始工作了.....")

while True:
    data,addr=udp_server.recvfrom(1024)
    print("接收到来自%s:%s的数据%s" %(addr[0],addr[1],data.decode("utf-8")))
    if data == b'close':
        print("服务器关闭！")
        udp_server.sendto(b'close', addr)  # 发送关闭信号
        break
    # 添加逻辑判断，避免无限发送同样的数据
    # 这里可以根据具体业务逻辑来判断是否需要发送数据
    if data != b'':
        udp_server.sendto(data,addr)

# 关闭套接字连接
udp_server.close()
